package com.wzq.design.business.base.user.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.wzq.design.annotation.dataValid.DeptValid;
import com.wzq.ssm.parent.annotation.EntityProperty;
import com.wzq.ssm.parent.base.entity.BaseEntity;
import com.wzq.ssm.parent.enums.EnableAndDisableEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.Alias;

@EqualsAndHashCode(callSuper = true)
@Data
@TableName(value = "base_user")
@Alias("BaseUser")
@EntityProperty(content = "用户信息")
public class BaseUser extends BaseEntity<BaseUser> {
    public enum UserTypeEnum {
        /**
         * 正式员工
         */
        regular,
        /**
         * 离职员工
         */
        resignated,
        /**
         * 试用期员工
         */
        probationary,
        /**
         * 退休员工
         */
        retired
    }

    public enum SexEnum {
        male, female
    }


    /**
     * 部门ID
     */
    @DeptValid
    private String deptId;
    /**
     * 用户名称
     */
    private String name;

    /**
     * 用户类型
     */
    private UserTypeEnum userType;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 用户性别
     */
    private SexEnum sex;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 登录名称
     */
    private String loginName;
    /**
     * 密码
     */
    private String password;

    /**
     * 盐加密
     */
    private String salt;

    /**
     * 帐号状态（0正常 1停用）
     */
    private EnableAndDisableEnum status;
    /**
     * 最后登录IP
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private String loginDate;

}
